/*
 * axis.h
 *
 *  Created on: 2022年2月4日
 *      Author: TamGitsun
 */

#ifndef AXIS_H_
#define AXIS_H_

#include "configs.h"
#include "utils.h"
#include <stdint.h>


void draw_axis(uint32_t frameBuffer[APP_IMG_HEIGHT][APP_IMG_WIDTH], uint32_t fg_color, uint32_t bg_color);

void axis_push_value(uint32_t frameBuffer[APP_IMG_HEIGHT][APP_IMG_WIDTH], int value, int redraw_all);

void axis_clear_values(void);

void axis_push_value_just(int value);

void axis_redraw(uint32_t frameBuffer[APP_IMG_HEIGHT][APP_IMG_WIDTH]);

typedef void (* func_on_k_tick_t_2_x_scale_label_t)(int x, char * label, uint32_t label_size);

void axis_set_on_k_tick_t_2_x_scale_label(func_on_k_tick_t_2_x_scale_label_t callback);

void axis_set_y_label(const char * label);


#endif /* AXIS_H_ */
